• Parameters

    • __namedParameters: {
          address?: `0x${string}`;
      } = {}
      • Optional address?: `0x${string}`

    Returns {
        api: undefined | MultisigWallet;
        chainId: undefined | number;
        connected: boolean;
        contract: {
            abi?: readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }];
            address?: "0xD244519000000000000000000000000000000000";
            contract?: null | {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & Omit<Contract, PropertyKeys | FunctionKeys | EventKeys> & {
                address: `0x${string}`;
                callStatic: {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                        data: `0x${string}`;
                        destination: `0x${string}`;
                        executed: boolean;
                        value: BigNumber;
                    } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                };
                estimateGas: {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<BigNumber>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                };
                filters: {
                    DailyLimitChange: ((...args: readonly [null]) => EventFilter);
                } & {
                    Confirmation: ((...args: readonly [null | `0x${string}`, null | BigNumber]) => EventFilter);
                } & {
                    Revocation: ((...args: readonly [null | `0x${string}`, null | BigNumber]) => EventFilter);
                } & {
                    Submission: ((...args: readonly [null | BigNumber]) => EventFilter);
                } & {
                    Execution: ((...args: readonly [null | BigNumber]) => EventFilter);
                } & {
                    ExecutionFailure: ((...args: readonly [null | BigNumber]) => EventFilter);
                } & {
                    Deposit: ((...args: readonly [null | `0x${string}`, null]) => EventFilter);
                } & {
                    OwnerAddition: ((...args: readonly [null | `0x${string}`]) => EventFilter);
                } & {
                    OwnerRemoval: ((...args: readonly [null | `0x${string}`]) => EventFilter);
                } & {
                    RequirementChange: ((...args: readonly [null]) => EventFilter);
                };
                functions: {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<[`0x${string}`]>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<[boolean]>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<[boolean]>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<[BigNumber]>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<[boolean]>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<[BigNumber]>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<[{
                        data: `0x${string}`;
                        destination: `0x${string}`;
                        executed: boolean;
                        value: BigNumber;
                    } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]]>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<[readonly `0x${string}`[]]>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<[readonly BigNumber[]]>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<[readonly `0x${string}`[]]>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<[ContractTransaction]>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
                };
                interface: BaseInterface<{
                    events: {
                        DailyLimitChange(uint256): EventFragment;
                    } & {
                        Confirmation(address,uint256): EventFragment;
                    } & {
                        Revocation(address,uint256): EventFragment;
                    } & {
                        Submission(uint256): EventFragment;
                    } & {
                        Execution(uint256): EventFragment;
                    } & {
                        ExecutionFailure(uint256): EventFragment;
                    } & {
                        Deposit(address,uint256): EventFragment;
                    } & {
                        OwnerAddition(address): EventFragment;
                    } & {
                        OwnerRemoval(address): EventFragment;
                    } & {
                        RequirementChange(uint256): EventFragment;
                    };
                    functions: {
                        owners(uint256): FunctionFragment;
                    } & {
                        removeOwner(address): FunctionFragment;
                    } & {
                        revokeConfirmation(uint256): FunctionFragment;
                    } & {
                        isOwner(address): FunctionFragment;
                    } & {
                        confirmations(uint256,address): FunctionFragment;
                    } & {
                        calcMaxWithdraw(): FunctionFragment;
                    } & {
                        getTransactionCount(bool,bool): FunctionFragment;
                    } & {
                        dailyLimit(): FunctionFragment;
                    } & {
                        lastDay(): FunctionFragment;
                    } & {
                        addOwner(address): FunctionFragment;
                    } & {
                        isConfirmed(uint256): FunctionFragment;
                    } & {
                        getConfirmationCount(uint256): FunctionFragment;
                    } & {
                        transactions(uint256): FunctionFragment;
                    } & {
                        getOwners(): FunctionFragment;
                    } & {
                        getTransactionIds(uint256,uint256,bool,bool): FunctionFragment;
                    } & {
                        getConfirmations(uint256): FunctionFragment;
                    } & {
                        transactionCount(): FunctionFragment;
                    } & {
                        changeRequirement(uint256): FunctionFragment;
                    } & {
                        confirmTransaction(uint256): FunctionFragment;
                    } & {
                        submitTransaction(address,uint256,bytes): FunctionFragment;
                    } & {
                        changeDailyLimit(uint256): FunctionFragment;
                    } & {
                        MAX_OWNER_COUNT(): FunctionFragment;
                    } & {
                        required(): FunctionFragment;
                    } & {
                        replaceOwner(address,address): FunctionFragment;
                    } & {
                        executeTransaction(uint256): FunctionFragment;
                    } & {
                        spentToday(): FunctionFragment;
                    };
                }>;
                off: EventListener<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }]>;
                on: EventListener<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }]>;
                once: EventListener<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }]>;
                populateTransaction: {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<PopulatedTransaction>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
                };
                removeListener: EventListener<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }]>;
                resolvedAddress: Promise<`0x${string}`>;
                attach(addressOrName: string): Contract<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }], {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                        data: `0x${string}`;
                        destination: `0x${string}`;
                        executed: boolean;
                        value: BigNumber;
                    } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                }>;
                connect(signerOrProvider: string | Provider | Signer): Contract<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }], {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                        data: `0x${string}`;
                        destination: `0x${string}`;
                        executed: boolean;
                        value: BigNumber;
                    } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                }>;
                deployed(): Promise<Contract<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }], {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                        data: `0x${string}`;
                        destination: `0x${string}`;
                        executed: boolean;
                        value: BigNumber;
                    } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                }>>;
                emit<TEventName>(eventName: TEventName, ...args: AbiParametersToPrimitiveTypes<(Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }, {
                    name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
                }>)["inputs"]> extends TArgs ? TArgs : never): boolean;
                listenerCount(): number;
                listenerCount<TEventName>(eventName: TEventName): number;
                listenerCount(eventFilter: EventFilter): number;
                listeners(): ((...args: any[]) => void)[];
                listeners<TEventName>(eventName: TEventName): Listener<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }], TEventName, Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    name: TEventName;
                }> | Extract<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }, {
                    name: TEventName;
                }>>[];
                listeners(eventFilter: EventFilter): ((...args: [BigNumber, Event<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }>] | [`0x${string}`, Event<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }>] | [`0x${string}`, BigNumber, Event<{
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                } | {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }>]) => void)[];
                queryFilter<TEventName>(event: TEventName, fromBlockOrBlockhash?: string | number, toBlock?: string | number): Promise<Event[]>;
                queryFilter(eventFilter: EventFilter, fromBlockOrBlockhash?: string | number, toBlock?: string | number): Promise<Event[]>;
                removeAllListeners(eventName?: "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange"): Contract<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }], {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                        data: `0x${string}`;
                        destination: `0x${string}`;
                        executed: boolean;
                        value: BigNumber;
                    } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                }>;
                removeAllListeners(eventFilter: EventFilter): Contract<readonly [{
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "owners";
                    outputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "removeOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "revokeConfirmation";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "address";
                    }];
                    name: "isOwner";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }, {
                        name: "";
                        type: "address";
                    }];
                    name: "confirmations";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "calcMaxWithdraw";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "dailyLimit";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "lastDay";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }];
                    name: "addOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "isConfirmed";
                    outputs: readonly [{
                        name: "";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmationCount";
                    outputs: readonly [{
                        name: "count";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    name: "transactions";
                    outputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "getOwners";
                    outputs: readonly [{
                        name: "";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "from";
                        type: "uint256";
                    }, {
                        name: "to";
                        type: "uint256";
                    }, {
                        name: "pending";
                        type: "bool";
                    }, {
                        name: "executed";
                        type: "bool";
                    }];
                    name: "getTransactionIds";
                    outputs: readonly [{
                        name: "_transactionIds";
                        type: "uint256[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "getConfirmations";
                    outputs: readonly [{
                        name: "_confirmations";
                        type: "address[]";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "transactionCount";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_required";
                        type: "uint256";
                    }];
                    name: "changeRequirement";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "confirmTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "destination";
                        type: "address";
                    }, {
                        name: "value";
                        type: "uint256";
                    }, {
                        name: "data";
                        type: "bytes";
                    }];
                    name: "submitTransaction";
                    outputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    name: "changeDailyLimit";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "MAX_OWNER_COUNT";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "required";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "owner";
                        type: "address";
                    }, {
                        name: "newOwner";
                        type: "address";
                    }];
                    name: "replaceOwner";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: false;
                    inputs: readonly [{
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "executeTransaction";
                    outputs: readonly [];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "function";
                }, {
                    constant: true;
                    inputs: readonly [];
                    name: "spentToday";
                    outputs: readonly [{
                        name: "";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "view";
                    type: "function";
                }, {
                    inputs: readonly [{
                        name: "_owners";
                        type: "address[]";
                    }, {
                        name: "_required";
                        type: "uint256";
                    }, {
                        name: "_dailyLimit";
                        type: "uint256";
                    }];
                    payable: false;
                    stateMutability: "nonpayable";
                    type: "constructor";
                }, {
                    payable: true;
                    stateMutability: "payable";
                    type: "fallback";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "dailyLimit";
                        type: "uint256";
                    }];
                    name: "DailyLimitChange";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Confirmation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Revocation";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Submission";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "Execution";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "transactionId";
                        type: "uint256";
                    }];
                    name: "ExecutionFailure";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "sender";
                        type: "address";
                    }, {
                        indexed: false;
                        name: "value";
                        type: "uint256";
                    }];
                    name: "Deposit";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerAddition";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: true;
                        name: "owner";
                        type: "address";
                    }];
                    name: "OwnerRemoval";
                    type: "event";
                }, {
                    anonymous: false;
                    inputs: readonly [{
                        indexed: false;
                        name: "required";
                        type: "uint256";
                    }];
                    name: "RequirementChange";
                    type: "event";
                }], {
                    owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
                } & {
                    removeOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
                } & {
                    calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    addOwner: ((...args: [`0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
                } & {
                    getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
                } & {
                    transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                        data: `0x${string}`;
                        destination: `0x${string}`;
                        executed: boolean;
                        value: BigNumber;
                    } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
                } & {
                    getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
                } & {
                    getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
                } & {
                    getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
                } & {
                    transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    changeRequirement: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    confirmTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                } & {
                    replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    executeTransaction: ((...args: [BigNumber, (Overrides & {
                        from?: `0x${string}`;
                    })?]) => Promise<ContractTransaction>);
                } & {
                    spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
                }>;
            } & Contract;
        };
        data: {
            balance: UseQueryResult<FetchBalanceResult, Error>;
            countExecutedTrx: UseQueryResult<undefined | number, unknown>;
            countPendingTrx: UseQueryResult<undefined | number, unknown>;
            countReqConfirms: UseQueryResult<undefined | number, unknown>;
            countTotalTrx: UseQueryResult<undefined | number, unknown>;
            events: undefined | Event[];
            executedTrxIds: DefinedUseQueryResult<number[], unknown>;
            owners: UseQueryResult<readonly `0x${string}`[], Error>;
            pendingTrxIds: DefinedUseQueryResult<undefined | number[], unknown>;
        };
        queryKey: ((key: any[]) => any[]);
    }

    • api: undefined | MultisigWallet
    • chainId: undefined | number
    • connected: boolean
    • contract: {
          abi?: readonly [{
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "owners";
              outputs: readonly [{
                  name: "";
                  type: "address";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "owner";
                  type: "address";
              }];
              name: "removeOwner";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "revokeConfirmation";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "address";
              }];
              name: "isOwner";
              outputs: readonly [{
                  name: "";
                  type: "bool";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }, {
                  name: "";
                  type: "address";
              }];
              name: "confirmations";
              outputs: readonly [{
                  name: "";
                  type: "bool";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "calcMaxWithdraw";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "pending";
                  type: "bool";
              }, {
                  name: "executed";
                  type: "bool";
              }];
              name: "getTransactionCount";
              outputs: readonly [{
                  name: "count";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "dailyLimit";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "lastDay";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "owner";
                  type: "address";
              }];
              name: "addOwner";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "isConfirmed";
              outputs: readonly [{
                  name: "";
                  type: "bool";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "getConfirmationCount";
              outputs: readonly [{
                  name: "count";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "transactions";
              outputs: readonly [{
                  name: "destination";
                  type: "address";
              }, {
                  name: "value";
                  type: "uint256";
              }, {
                  name: "data";
                  type: "bytes";
              }, {
                  name: "executed";
                  type: "bool";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "getOwners";
              outputs: readonly [{
                  name: "";
                  type: "address[]";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "from";
                  type: "uint256";
              }, {
                  name: "to";
                  type: "uint256";
              }, {
                  name: "pending";
                  type: "bool";
              }, {
                  name: "executed";
                  type: "bool";
              }];
              name: "getTransactionIds";
              outputs: readonly [{
                  name: "_transactionIds";
                  type: "uint256[]";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "getConfirmations";
              outputs: readonly [{
                  name: "_confirmations";
                  type: "address[]";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "transactionCount";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "_required";
                  type: "uint256";
              }];
              name: "changeRequirement";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "confirmTransaction";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "destination";
                  type: "address";
              }, {
                  name: "value";
                  type: "uint256";
              }, {
                  name: "data";
                  type: "bytes";
              }];
              name: "submitTransaction";
              outputs: readonly [{
                  name: "transactionId";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "_dailyLimit";
                  type: "uint256";
              }];
              name: "changeDailyLimit";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "MAX_OWNER_COUNT";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "required";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "owner";
                  type: "address";
              }, {
                  name: "newOwner";
                  type: "address";
              }];
              name: "replaceOwner";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "executeTransaction";
              outputs: readonly [];
              payable: false;
              stateMutability: "nonpayable";
              type: "function";
          }, {
              constant: true;
              inputs: readonly [];
              name: "spentToday";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "view";
              type: "function";
          }, {
              inputs: readonly [{
                  name: "_owners";
                  type: "address[]";
              }, {
                  name: "_required";
                  type: "uint256";
              }, {
                  name: "_dailyLimit";
                  type: "uint256";
              }];
              payable: false;
              stateMutability: "nonpayable";
              type: "constructor";
          }, {
              payable: true;
              stateMutability: "payable";
              type: "fallback";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  name: "dailyLimit";
                  type: "uint256";
              }];
              name: "DailyLimitChange";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "sender";
                  type: "address";
              }, {
                  indexed: true;
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "Confirmation";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "sender";
                  type: "address";
              }, {
                  indexed: true;
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "Revocation";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "Submission";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "Execution";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "transactionId";
                  type: "uint256";
              }];
              name: "ExecutionFailure";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "sender";
                  type: "address";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }];
              name: "Deposit";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "owner";
                  type: "address";
              }];
              name: "OwnerAddition";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "owner";
                  type: "address";
              }];
              name: "OwnerRemoval";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: false;
                  name: "required";
                  type: "uint256";
              }];
              name: "RequirementChange";
              type: "event";
          }];
          address?: "0xD244519000000000000000000000000000000000";
          contract?: null | {
              owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
          } & {
              removeOwner: ((...args: [`0x${string}`, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
          } & {
              confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
          } & {
              calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
          } & {
              getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
          } & {
              dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
          } & {
              lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
          } & {
              addOwner: ((...args: [`0x${string}`, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
          } & {
              getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
          } & {
              transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                  data: `0x${string}`;
                  destination: `0x${string}`;
                  executed: boolean;
                  value: BigNumber;
              } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
          } & {
              getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
          } & {
              getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
          } & {
              getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
          } & {
              transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
          } & {
              changeRequirement: ((...args: [BigNumber, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              confirmTransaction: ((...args: [BigNumber, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
          } & {
              required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
          } & {
              replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              executeTransaction: ((...args: [BigNumber, (Overrides & {
                  from?: `0x${string}`;
              })?]) => Promise<ContractTransaction>);
          } & {
              spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
          } & Omit<Contract, PropertyKeys | FunctionKeys | EventKeys> & {
              address: `0x${string}`;
              callStatic: {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                      data: `0x${string}`;
                      destination: `0x${string}`;
                      executed: boolean;
                      value: BigNumber;
                  } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              };
              estimateGas: {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<BigNumber>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              };
              filters: {
                  DailyLimitChange: ((...args: readonly [null]) => EventFilter);
              } & {
                  Confirmation: ((...args: readonly [null | `0x${string}`, null | BigNumber]) => EventFilter);
              } & {
                  Revocation: ((...args: readonly [null | `0x${string}`, null | BigNumber]) => EventFilter);
              } & {
                  Submission: ((...args: readonly [null | BigNumber]) => EventFilter);
              } & {
                  Execution: ((...args: readonly [null | BigNumber]) => EventFilter);
              } & {
                  ExecutionFailure: ((...args: readonly [null | BigNumber]) => EventFilter);
              } & {
                  Deposit: ((...args: readonly [null | `0x${string}`, null]) => EventFilter);
              } & {
                  OwnerAddition: ((...args: readonly [null | `0x${string}`]) => EventFilter);
              } & {
                  OwnerRemoval: ((...args: readonly [null | `0x${string}`]) => EventFilter);
              } & {
                  RequirementChange: ((...args: readonly [null]) => EventFilter);
              };
              functions: {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<[`0x${string}`]>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<[boolean]>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<[boolean]>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<[BigNumber]>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<[boolean]>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<[BigNumber]>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<[{
                      data: `0x${string}`;
                      destination: `0x${string}`;
                      executed: boolean;
                      value: BigNumber;
                  } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]]>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<[readonly `0x${string}`[]]>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<[readonly BigNumber[]]>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<[readonly `0x${string}`[]]>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<[ContractTransaction]>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
              };
              interface: BaseInterface<{
                  events: {
                      DailyLimitChange(uint256): EventFragment;
                  } & {
                      Confirmation(address,uint256): EventFragment;
                  } & {
                      Revocation(address,uint256): EventFragment;
                  } & {
                      Submission(uint256): EventFragment;
                  } & {
                      Execution(uint256): EventFragment;
                  } & {
                      ExecutionFailure(uint256): EventFragment;
                  } & {
                      Deposit(address,uint256): EventFragment;
                  } & {
                      OwnerAddition(address): EventFragment;
                  } & {
                      OwnerRemoval(address): EventFragment;
                  } & {
                      RequirementChange(uint256): EventFragment;
                  };
                  functions: {
                      owners(uint256): FunctionFragment;
                  } & {
                      removeOwner(address): FunctionFragment;
                  } & {
                      revokeConfirmation(uint256): FunctionFragment;
                  } & {
                      isOwner(address): FunctionFragment;
                  } & {
                      confirmations(uint256,address): FunctionFragment;
                  } & {
                      calcMaxWithdraw(): FunctionFragment;
                  } & {
                      getTransactionCount(bool,bool): FunctionFragment;
                  } & {
                      dailyLimit(): FunctionFragment;
                  } & {
                      lastDay(): FunctionFragment;
                  } & {
                      addOwner(address): FunctionFragment;
                  } & {
                      isConfirmed(uint256): FunctionFragment;
                  } & {
                      getConfirmationCount(uint256): FunctionFragment;
                  } & {
                      transactions(uint256): FunctionFragment;
                  } & {
                      getOwners(): FunctionFragment;
                  } & {
                      getTransactionIds(uint256,uint256,bool,bool): FunctionFragment;
                  } & {
                      getConfirmations(uint256): FunctionFragment;
                  } & {
                      transactionCount(): FunctionFragment;
                  } & {
                      changeRequirement(uint256): FunctionFragment;
                  } & {
                      confirmTransaction(uint256): FunctionFragment;
                  } & {
                      submitTransaction(address,uint256,bytes): FunctionFragment;
                  } & {
                      changeDailyLimit(uint256): FunctionFragment;
                  } & {
                      MAX_OWNER_COUNT(): FunctionFragment;
                  } & {
                      required(): FunctionFragment;
                  } & {
                      replaceOwner(address,address): FunctionFragment;
                  } & {
                      executeTransaction(uint256): FunctionFragment;
                  } & {
                      spentToday(): FunctionFragment;
                  };
              }>;
              off: EventListener<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }]>;
              on: EventListener<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }]>;
              once: EventListener<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }]>;
              populateTransaction: {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<PopulatedTransaction>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
              };
              removeListener: EventListener<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }]>;
              resolvedAddress: Promise<`0x${string}`>;
              attach(addressOrName: string): Contract<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }], {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                      data: `0x${string}`;
                      destination: `0x${string}`;
                      executed: boolean;
                      value: BigNumber;
                  } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              }>;
              connect(signerOrProvider: string | Provider | Signer): Contract<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }], {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                      data: `0x${string}`;
                      destination: `0x${string}`;
                      executed: boolean;
                      value: BigNumber;
                  } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              }>;
              deployed(): Promise<Contract<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }], {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                      data: `0x${string}`;
                      destination: `0x${string}`;
                      executed: boolean;
                      value: BigNumber;
                  } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              }>>;
              emit<TEventName>(eventName: TEventName, ...args: AbiParametersToPrimitiveTypes<(Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }, {
                  name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
              }>)["inputs"]> extends TArgs ? TArgs : never): boolean;
              listenerCount(): number;
              listenerCount<TEventName>(eventName: TEventName): number;
              listenerCount(eventFilter: EventFilter): number;
              listeners(): ((...args: any[]) => void)[];
              listeners<TEventName>(eventName: TEventName): Listener<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }], TEventName, Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  name: TEventName;
              }> | Extract<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }, {
                  name: TEventName;
              }>>[];
              listeners(eventFilter: EventFilter): ((...args: [BigNumber, Event<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }>] | [`0x${string}`, Event<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }>] | [`0x${string}`, BigNumber, Event<{
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              } | {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }>]) => void)[];
              queryFilter<TEventName>(event: TEventName, fromBlockOrBlockhash?: string | number, toBlock?: string | number): Promise<Event[]>;
              queryFilter(eventFilter: EventFilter, fromBlockOrBlockhash?: string | number, toBlock?: string | number): Promise<Event[]>;
              removeAllListeners(eventName?: "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange"): Contract<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }], {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                      data: `0x${string}`;
                      destination: `0x${string}`;
                      executed: boolean;
                      value: BigNumber;
                  } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              }>;
              removeAllListeners(eventFilter: EventFilter): Contract<readonly [{
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "owners";
                  outputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "removeOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "revokeConfirmation";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "address";
                  }];
                  name: "isOwner";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }, {
                      name: "";
                      type: "address";
                  }];
                  name: "confirmations";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "calcMaxWithdraw";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "dailyLimit";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "lastDay";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }];
                  name: "addOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "isConfirmed";
                  outputs: readonly [{
                      name: "";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmationCount";
                  outputs: readonly [{
                      name: "count";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  name: "transactions";
                  outputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "getOwners";
                  outputs: readonly [{
                      name: "";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "from";
                      type: "uint256";
                  }, {
                      name: "to";
                      type: "uint256";
                  }, {
                      name: "pending";
                      type: "bool";
                  }, {
                      name: "executed";
                      type: "bool";
                  }];
                  name: "getTransactionIds";
                  outputs: readonly [{
                      name: "_transactionIds";
                      type: "uint256[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "getConfirmations";
                  outputs: readonly [{
                      name: "_confirmations";
                      type: "address[]";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "transactionCount";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_required";
                      type: "uint256";
                  }];
                  name: "changeRequirement";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "confirmTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "destination";
                      type: "address";
                  }, {
                      name: "value";
                      type: "uint256";
                  }, {
                      name: "data";
                      type: "bytes";
                  }];
                  name: "submitTransaction";
                  outputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  name: "changeDailyLimit";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "MAX_OWNER_COUNT";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "required";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "owner";
                      type: "address";
                  }, {
                      name: "newOwner";
                      type: "address";
                  }];
                  name: "replaceOwner";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: false;
                  inputs: readonly [{
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "executeTransaction";
                  outputs: readonly [];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "function";
              }, {
                  constant: true;
                  inputs: readonly [];
                  name: "spentToday";
                  outputs: readonly [{
                      name: "";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "view";
                  type: "function";
              }, {
                  inputs: readonly [{
                      name: "_owners";
                      type: "address[]";
                  }, {
                      name: "_required";
                      type: "uint256";
                  }, {
                      name: "_dailyLimit";
                      type: "uint256";
                  }];
                  payable: false;
                  stateMutability: "nonpayable";
                  type: "constructor";
              }, {
                  payable: true;
                  stateMutability: "payable";
                  type: "fallback";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "dailyLimit";
                      type: "uint256";
                  }];
                  name: "DailyLimitChange";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Confirmation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Revocation";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Submission";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "Execution";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "transactionId";
                      type: "uint256";
                  }];
                  name: "ExecutionFailure";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "sender";
                      type: "address";
                  }, {
                      indexed: false;
                      name: "value";
                      type: "uint256";
                  }];
                  name: "Deposit";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerAddition";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: true;
                      name: "owner";
                      type: "address";
                  }];
                  name: "OwnerRemoval";
                  type: "event";
              }, {
                  anonymous: false;
                  inputs: readonly [{
                      indexed: false;
                      name: "required";
                      type: "uint256";
                  }];
                  name: "RequirementChange";
                  type: "event";
              }], {
                  owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
              } & {
                  removeOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
              } & {
                  calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  addOwner: ((...args: [`0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
              } & {
                  getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
              } & {
                  transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                      data: `0x${string}`;
                      destination: `0x${string}`;
                      executed: boolean;
                      value: BigNumber;
                  } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
              } & {
                  getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
              } & {
                  getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
              } & {
                  getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
              } & {
                  transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  changeRequirement: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  confirmTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              } & {
                  replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  executeTransaction: ((...args: [BigNumber, (Overrides & {
                      from?: `0x${string}`;
                  })?]) => Promise<ContractTransaction>);
              } & {
                  spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
              }>;
          } & Contract;
      }
      • Optional abi?: readonly [{
            constant: true;
            inputs: readonly [{
                name: "";
                type: "uint256";
            }];
            name: "owners";
            outputs: readonly [{
                name: "";
                type: "address";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "owner";
                type: "address";
            }];
            name: "removeOwner";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "transactionId";
                type: "uint256";
            }];
            name: "revokeConfirmation";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "";
                type: "address";
            }];
            name: "isOwner";
            outputs: readonly [{
                name: "";
                type: "bool";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "";
                type: "uint256";
            }, {
                name: "";
                type: "address";
            }];
            name: "confirmations";
            outputs: readonly [{
                name: "";
                type: "bool";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "calcMaxWithdraw";
            outputs: readonly [{
                name: "";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "pending";
                type: "bool";
            }, {
                name: "executed";
                type: "bool";
            }];
            name: "getTransactionCount";
            outputs: readonly [{
                name: "count";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "dailyLimit";
            outputs: readonly [{
                name: "";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "lastDay";
            outputs: readonly [{
                name: "";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "owner";
                type: "address";
            }];
            name: "addOwner";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "transactionId";
                type: "uint256";
            }];
            name: "isConfirmed";
            outputs: readonly [{
                name: "";
                type: "bool";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "transactionId";
                type: "uint256";
            }];
            name: "getConfirmationCount";
            outputs: readonly [{
                name: "count";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "";
                type: "uint256";
            }];
            name: "transactions";
            outputs: readonly [{
                name: "destination";
                type: "address";
            }, {
                name: "value";
                type: "uint256";
            }, {
                name: "data";
                type: "bytes";
            }, {
                name: "executed";
                type: "bool";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "getOwners";
            outputs: readonly [{
                name: "";
                type: "address[]";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "from";
                type: "uint256";
            }, {
                name: "to";
                type: "uint256";
            }, {
                name: "pending";
                type: "bool";
            }, {
                name: "executed";
                type: "bool";
            }];
            name: "getTransactionIds";
            outputs: readonly [{
                name: "_transactionIds";
                type: "uint256[]";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [{
                name: "transactionId";
                type: "uint256";
            }];
            name: "getConfirmations";
            outputs: readonly [{
                name: "_confirmations";
                type: "address[]";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "transactionCount";
            outputs: readonly [{
                name: "";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "_required";
                type: "uint256";
            }];
            name: "changeRequirement";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "transactionId";
                type: "uint256";
            }];
            name: "confirmTransaction";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "destination";
                type: "address";
            }, {
                name: "value";
                type: "uint256";
            }, {
                name: "data";
                type: "bytes";
            }];
            name: "submitTransaction";
            outputs: readonly [{
                name: "transactionId";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "_dailyLimit";
                type: "uint256";
            }];
            name: "changeDailyLimit";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "MAX_OWNER_COUNT";
            outputs: readonly [{
                name: "";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "required";
            outputs: readonly [{
                name: "";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "owner";
                type: "address";
            }, {
                name: "newOwner";
                type: "address";
            }];
            name: "replaceOwner";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: false;
            inputs: readonly [{
                name: "transactionId";
                type: "uint256";
            }];
            name: "executeTransaction";
            outputs: readonly [];
            payable: false;
            stateMutability: "nonpayable";
            type: "function";
        }, {
            constant: true;
            inputs: readonly [];
            name: "spentToday";
            outputs: readonly [{
                name: "";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "view";
            type: "function";
        }, {
            inputs: readonly [{
                name: "_owners";
                type: "address[]";
            }, {
                name: "_required";
                type: "uint256";
            }, {
                name: "_dailyLimit";
                type: "uint256";
            }];
            payable: false;
            stateMutability: "nonpayable";
            type: "constructor";
        }, {
            payable: true;
            stateMutability: "payable";
            type: "fallback";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                name: "dailyLimit";
                type: "uint256";
            }];
            name: "DailyLimitChange";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "sender";
                type: "address";
            }, {
                indexed: true;
                name: "transactionId";
                type: "uint256";
            }];
            name: "Confirmation";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "sender";
                type: "address";
            }, {
                indexed: true;
                name: "transactionId";
                type: "uint256";
            }];
            name: "Revocation";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "transactionId";
                type: "uint256";
            }];
            name: "Submission";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "transactionId";
                type: "uint256";
            }];
            name: "Execution";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "transactionId";
                type: "uint256";
            }];
            name: "ExecutionFailure";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "sender";
                type: "address";
            }, {
                indexed: false;
                name: "value";
                type: "uint256";
            }];
            name: "Deposit";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "owner";
                type: "address";
            }];
            name: "OwnerAddition";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: true;
                name: "owner";
                type: "address";
            }];
            name: "OwnerRemoval";
            type: "event";
        }, {
            anonymous: false;
            inputs: readonly [{
                indexed: false;
                name: "required";
                type: "uint256";
            }];
            name: "RequirementChange";
            type: "event";
        }]
      • Optional address?: "0xD244519000000000000000000000000000000000"
      • Optional contract?: null | {
            owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
        } & {
            removeOwner: ((...args: [`0x${string}`, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
        } & {
            confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
        } & {
            calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
        } & {
            getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
        } & {
            dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
        } & {
            lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
        } & {
            addOwner: ((...args: [`0x${string}`, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
        } & {
            getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
        } & {
            transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                data: `0x${string}`;
                destination: `0x${string}`;
                executed: boolean;
                value: BigNumber;
            } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
        } & {
            getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
        } & {
            getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
        } & {
            getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
        } & {
            transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
        } & {
            changeRequirement: ((...args: [BigNumber, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            confirmTransaction: ((...args: [BigNumber, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
        } & {
            required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
        } & {
            replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            executeTransaction: ((...args: [BigNumber, (Overrides & {
                from?: `0x${string}`;
            })?]) => Promise<ContractTransaction>);
        } & {
            spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
        } & Omit<Contract, PropertyKeys | FunctionKeys | EventKeys> & {
            address: `0x${string}`;
            callStatic: {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            };
            estimateGas: {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<BigNumber>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<BigNumber>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<BigNumber>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            };
            filters: {
                DailyLimitChange: ((...args: readonly [null]) => EventFilter);
            } & {
                Confirmation: ((...args: readonly [null | `0x${string}`, null | BigNumber]) => EventFilter);
            } & {
                Revocation: ((...args: readonly [null | `0x${string}`, null | BigNumber]) => EventFilter);
            } & {
                Submission: ((...args: readonly [null | BigNumber]) => EventFilter);
            } & {
                Execution: ((...args: readonly [null | BigNumber]) => EventFilter);
            } & {
                ExecutionFailure: ((...args: readonly [null | BigNumber]) => EventFilter);
            } & {
                Deposit: ((...args: readonly [null | `0x${string}`, null]) => EventFilter);
            } & {
                OwnerAddition: ((...args: readonly [null | `0x${string}`]) => EventFilter);
            } & {
                OwnerRemoval: ((...args: readonly [null | `0x${string}`]) => EventFilter);
            } & {
                RequirementChange: ((...args: readonly [null]) => EventFilter);
            };
            functions: {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<[`0x${string}`]>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<[boolean]>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<[boolean]>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<[BigNumber]>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<[boolean]>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<[BigNumber]>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<[{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<[readonly `0x${string}`[]]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<[readonly BigNumber[]]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<[readonly `0x${string}`[]]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<[ContractTransaction]>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<[BigNumber]>);
            };
            interface: BaseInterface<{
                events: {
                    DailyLimitChange(uint256): EventFragment;
                } & {
                    Confirmation(address,uint256): EventFragment;
                } & {
                    Revocation(address,uint256): EventFragment;
                } & {
                    Submission(uint256): EventFragment;
                } & {
                    Execution(uint256): EventFragment;
                } & {
                    ExecutionFailure(uint256): EventFragment;
                } & {
                    Deposit(address,uint256): EventFragment;
                } & {
                    OwnerAddition(address): EventFragment;
                } & {
                    OwnerRemoval(address): EventFragment;
                } & {
                    RequirementChange(uint256): EventFragment;
                };
                functions: {
                    owners(uint256): FunctionFragment;
                } & {
                    removeOwner(address): FunctionFragment;
                } & {
                    revokeConfirmation(uint256): FunctionFragment;
                } & {
                    isOwner(address): FunctionFragment;
                } & {
                    confirmations(uint256,address): FunctionFragment;
                } & {
                    calcMaxWithdraw(): FunctionFragment;
                } & {
                    getTransactionCount(bool,bool): FunctionFragment;
                } & {
                    dailyLimit(): FunctionFragment;
                } & {
                    lastDay(): FunctionFragment;
                } & {
                    addOwner(address): FunctionFragment;
                } & {
                    isConfirmed(uint256): FunctionFragment;
                } & {
                    getConfirmationCount(uint256): FunctionFragment;
                } & {
                    transactions(uint256): FunctionFragment;
                } & {
                    getOwners(): FunctionFragment;
                } & {
                    getTransactionIds(uint256,uint256,bool,bool): FunctionFragment;
                } & {
                    getConfirmations(uint256): FunctionFragment;
                } & {
                    transactionCount(): FunctionFragment;
                } & {
                    changeRequirement(uint256): FunctionFragment;
                } & {
                    confirmTransaction(uint256): FunctionFragment;
                } & {
                    submitTransaction(address,uint256,bytes): FunctionFragment;
                } & {
                    changeDailyLimit(uint256): FunctionFragment;
                } & {
                    MAX_OWNER_COUNT(): FunctionFragment;
                } & {
                    required(): FunctionFragment;
                } & {
                    replaceOwner(address,address): FunctionFragment;
                } & {
                    executeTransaction(uint256): FunctionFragment;
                } & {
                    spentToday(): FunctionFragment;
                };
            }>;
            off: EventListener<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }]>;
            on: EventListener<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }]>;
            once: EventListener<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }]>;
            populateTransaction: {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<PopulatedTransaction>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<PopulatedTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<PopulatedTransaction>);
            };
            removeListener: EventListener<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }]>;
            resolvedAddress: Promise<`0x${string}`>;
            attach(addressOrName: string): Contract<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }], {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            }>;
            connect(signerOrProvider: string | Provider | Signer): Contract<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }], {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            }>;
            deployed(): Promise<Contract<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }], {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            }>>;
            emit<TEventName>(eventName: TEventName, ...args: AbiParametersToPrimitiveTypes<(Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }, {
                name: TEventName extends string ? TEventName : "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange";
            }>)["inputs"]> extends TArgs ? TArgs : never): boolean;
            listenerCount(): number;
            listenerCount<TEventName>(eventName: TEventName): number;
            listenerCount(eventFilter: EventFilter): number;
            listeners(): ((...args: any[]) => void)[];
            listeners<TEventName>(eventName: TEventName): Listener<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }], TEventName, Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                name: TEventName;
            }> | Extract<{
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }, {
                name: TEventName;
            }>>[];
            listeners(eventFilter: EventFilter): ((...args: [BigNumber, Event<{
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }>] | [`0x${string}`, Event<{
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }>] | [`0x${string}`, BigNumber, Event<{
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            } | {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }>]) => void)[];
            queryFilter<TEventName>(event: TEventName, fromBlockOrBlockhash?: string | number, toBlock?: string | number): Promise<Event[]>;
            queryFilter(eventFilter: EventFilter, fromBlockOrBlockhash?: string | number, toBlock?: string | number): Promise<Event[]>;
            removeAllListeners(eventName?: "DailyLimitChange" | "Confirmation" | "Revocation" | "Submission" | "Execution" | "ExecutionFailure" | "Deposit" | "OwnerAddition" | "OwnerRemoval" | "RequirementChange"): Contract<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }], {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            }>;
            removeAllListeners(eventFilter: EventFilter): Contract<readonly [{
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "owners";
                outputs: readonly [{
                    name: "";
                    type: "address";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "removeOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "revokeConfirmation";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "address";
                }];
                name: "isOwner";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }, {
                    name: "";
                    type: "address";
                }];
                name: "confirmations";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "calcMaxWithdraw";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "dailyLimit";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "lastDay";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }];
                name: "addOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "isConfirmed";
                outputs: readonly [{
                    name: "";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmationCount";
                outputs: readonly [{
                    name: "count";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                name: "transactions";
                outputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "getOwners";
                outputs: readonly [{
                    name: "";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "from";
                    type: "uint256";
                }, {
                    name: "to";
                    type: "uint256";
                }, {
                    name: "pending";
                    type: "bool";
                }, {
                    name: "executed";
                    type: "bool";
                }];
                name: "getTransactionIds";
                outputs: readonly [{
                    name: "_transactionIds";
                    type: "uint256[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "getConfirmations";
                outputs: readonly [{
                    name: "_confirmations";
                    type: "address[]";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "transactionCount";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_required";
                    type: "uint256";
                }];
                name: "changeRequirement";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "confirmTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "destination";
                    type: "address";
                }, {
                    name: "value";
                    type: "uint256";
                }, {
                    name: "data";
                    type: "bytes";
                }];
                name: "submitTransaction";
                outputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                name: "changeDailyLimit";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "MAX_OWNER_COUNT";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "required";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "owner";
                    type: "address";
                }, {
                    name: "newOwner";
                    type: "address";
                }];
                name: "replaceOwner";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: false;
                inputs: readonly [{
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "executeTransaction";
                outputs: readonly [];
                payable: false;
                stateMutability: "nonpayable";
                type: "function";
            }, {
                constant: true;
                inputs: readonly [];
                name: "spentToday";
                outputs: readonly [{
                    name: "";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "view";
                type: "function";
            }, {
                inputs: readonly [{
                    name: "_owners";
                    type: "address[]";
                }, {
                    name: "_required";
                    type: "uint256";
                }, {
                    name: "_dailyLimit";
                    type: "uint256";
                }];
                payable: false;
                stateMutability: "nonpayable";
                type: "constructor";
            }, {
                payable: true;
                stateMutability: "payable";
                type: "fallback";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "dailyLimit";
                    type: "uint256";
                }];
                name: "DailyLimitChange";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Confirmation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Revocation";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Submission";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "Execution";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "transactionId";
                    type: "uint256";
                }];
                name: "ExecutionFailure";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "sender";
                    type: "address";
                }, {
                    indexed: false;
                    name: "value";
                    type: "uint256";
                }];
                name: "Deposit";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerAddition";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: true;
                    name: "owner";
                    type: "address";
                }];
                name: "OwnerRemoval";
                type: "event";
            }, {
                anonymous: false;
                inputs: readonly [{
                    indexed: false;
                    name: "required";
                    type: "uint256";
                }];
                name: "RequirementChange";
                type: "event";
            }], {
                owners: ((...args: [BigNumber, CallOverrides?]) => Promise<`0x${string}`>);
            } & {
                removeOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                revokeConfirmation: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isOwner: ((...args: [`0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                confirmations: ((...args: [BigNumber, `0x${string}`, CallOverrides?]) => Promise<boolean>);
            } & {
                calcMaxWithdraw: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                getTransactionCount: ((...args: [boolean, boolean, CallOverrides?]) => Promise<BigNumber>);
            } & {
                dailyLimit: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                lastDay: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                addOwner: ((...args: [`0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                isConfirmed: ((...args: [BigNumber, CallOverrides?]) => Promise<boolean>);
            } & {
                getConfirmationCount: ((...args: [BigNumber, CallOverrides?]) => Promise<BigNumber>);
            } & {
                transactions: ((...args: [BigNumber, CallOverrides?]) => Promise<{
                    data: `0x${string}`;
                    destination: `0x${string}`;
                    executed: boolean;
                    value: BigNumber;
                } & readonly [`0x${string}`, BigNumber, `0x${string}`, boolean]>);
            } & {
                getOwners: ((...args: [overrides?: CallOverrides]) => Promise<readonly `0x${string}`[]>);
            } & {
                getTransactionIds: ((...args: [BigNumber, BigNumber, boolean, boolean, CallOverrides?]) => Promise<readonly BigNumber[]>);
            } & {
                getConfirmations: ((...args: [BigNumber, CallOverrides?]) => Promise<readonly `0x${string}`[]>);
            } & {
                transactionCount: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                changeRequirement: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                confirmTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                submitTransaction: ((...args: [`0x${string}`, BigNumber, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                changeDailyLimit: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                MAX_OWNER_COUNT: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                required: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            } & {
                replaceOwner: ((...args: [`0x${string}`, `0x${string}`, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                executeTransaction: ((...args: [BigNumber, (Overrides & {
                    from?: `0x${string}`;
                })?]) => Promise<ContractTransaction>);
            } & {
                spentToday: ((...args: [overrides?: CallOverrides]) => Promise<BigNumber>);
            }>;
        } & Contract
    • data: {
          balance: UseQueryResult<FetchBalanceResult, Error>;
          countExecutedTrx: UseQueryResult<undefined | number, unknown>;
          countPendingTrx: UseQueryResult<undefined | number, unknown>;
          countReqConfirms: UseQueryResult<undefined | number, unknown>;
          countTotalTrx: UseQueryResult<undefined | number, unknown>;
          events: undefined | Event[];
          executedTrxIds: DefinedUseQueryResult<number[], unknown>;
          owners: UseQueryResult<readonly `0x${string}`[], Error>;
          pendingTrxIds: DefinedUseQueryResult<undefined | number[], unknown>;
      }
      • balance: UseQueryResult<FetchBalanceResult, Error>
      • countExecutedTrx: UseQueryResult<undefined | number, unknown>
      • countPendingTrx: UseQueryResult<undefined | number, unknown>
      • countReqConfirms: UseQueryResult<undefined | number, unknown>
      • countTotalTrx: UseQueryResult<undefined | number, unknown>
      • events: undefined | Event[]
      • executedTrxIds: DefinedUseQueryResult<number[], unknown>
      • owners: UseQueryResult<readonly `0x${string}`[], Error>
      • pendingTrxIds: DefinedUseQueryResult<undefined | number[], unknown>
    • queryKey: ((key: any[]) => any[])
        • (key: any[]): any[]
        • Parameters

          • key: any[]

          Returns any[]

Generated using TypeDoc